Brain#

The results for the CNeuroMod quantitative MRI longitudinal stability study for the brain are displayed below in two sections, Quantitative MRI and Diffusion, reflecting the two separate pipelines used to processes these datasets (see the Materials and Methods section for pipeline diagrams). The mean intrasubject and intersubject COVs are reported in tables below each respective figure, as well as the intrasubject COV standard deviation.

The figures are presented in an interactive format using the Plotly framework, you can hover to view the values of each datapoints, use the dropdown box (when applicable) to change between metrics, click and drag to zoom in, etc.

This page was generated using an Jupyter Notebook, and all the commands run to reproduce the figure using the prepared and packaged ROI data are shown prior to the figures. If you’d like to re-run the notebook, you can click the 🚀 icon on the top right of this page and then on “Binder” to open a MyBinder session in your browser - no installation is required.

Quantitative MRI#

Code imports#

# Python imports 
from IPython.display import clear_output
from pathlib import Path
import numpy as np

import pandas as pd
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 1000)
pd.set_option('display.colheader_justify', 'center')
pd.set_option('display.precision', 1)

# Import custom tools
from tools.data import Data
from tools.plot import Plot
from tools.stats import Stats

Download data#

data_type = 'brain'
release_version = 'latest'

dataset = Data(data_type)
dataset.download(release_version)
--2023-02-13 14:09:06--  https://github.com/courtois-neuromod/anat-processing/releases/download/r20220921/neuromod-anat-brain-qmri.zip
Resolving github.com (github.com)... 140.82.114.3
Connecting to github.com (github.com)|140.82.114.3|:443... connected.
HTTP request sent, awaiting response... 
302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/59a68bb3-4423-49ab-959d-247690acbebc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230213%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230213T140907Z&X-Amz-Expires=300&X-Amz-Signature=aa24d3877c5121ff724391f170036114094191240c760c0f06a9ef7d21438fe7&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dneuromod-anat-brain-qmri.zip&response-content-type=application%2Foctet-stream [following]
--2023-02-13 14:09:07--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/59a68bb3-4423-49ab-959d-247690acbebc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230213%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230213T140907Z&X-Amz-Expires=300&X-Amz-Signature=aa24d3877c5121ff724391f170036114094191240c760c0f06a9ef7d21438fe7&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dneuromod-anat-brain-qmri.zip&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.109.133, 185.199.108.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected.
HTTP request sent, awaiting response... 
Archive:  neuromod-anat-brain-qmri.zip
  inflating: data/brain/neuromod-anat-brain.nextflow.log  
  inflating: data/brain/results-neuromod-anat-brain-qmri.csv  
  inflating: data/brain/._results-neuromod-anat-brain-qmri.csv  
  inflating: data/brain/dag.dot      
  inflating: data/brain/report.html  
  inflating: data/brain/dag.png      
200 OK
Length: 1301347 (1.2M) [application/octet-stream]
Saving to: ‘neuromod-anat-brain-qmri.zip’

     0K .......... .......... .......... .......... ..........  3% 5.22M 0s
    50K .......... .......... .......... .......... ..........  7% 7.05M 0s
   100K .......... .......... .......... .......... .......... 11% 28.9M 0s
   150K .......... .......... .......... .......... .......... 15% 39.5M 0s
   200K .......... .......... .......... .......... .......... 19% 9.40M 0s
   250K .......... .......... .......... .......... .......... 23% 58.8M 0s
   300K .......... .......... .......... .......... .......... 27% 56.6M 0s
   350K .......... .......... .......... .......... .......... 31% 42.6M 0s
   400K .......... .......... .......... .......... .......... 35% 61.4M 0s
   450K .......... .......... .......... .......... .......... 39% 84.4M 0s
   500K .......... .......... .......... .......... .......... 43% 12.5M 0s
   550K .......... .......... .......... .......... .......... 47% 62.4M 0s
   600K .......... .......... .......... .......... .......... 51% 66.3M 0s
   650K .......... .......... .......... .......... .......... 55%  169M 0s
   700K .......... .......... .......... .......... .......... 59% 69.7M 0s
   750K .......... .......... .......... .......... .......... 62%  173M 0s
   800K .......... .......... .......... .......... .......... 66%  176M 0s
   850K .......... .......... .......... .......... .......... 70% 95.3M 0s
   900K .......... .......... .......... .......... .......... 74%  168M 0s
   950K .......... .......... .......... .......... .......... 78%  134M 0s
  1000K .......... .......... .......... .......... .......... 82%  163M 0s
  1050K .......... .......... .......... .......... .......... 86% 13.8M 0s
  1100K .......... .......... .......... .......... .......... 90% 76.6M 0s
  1150K .......... .......... .......... .......... .......... 94%  169M 0s
  1200K .......... .......... .......... .......... .......... 98%  182M 0s
  1250K .......... ..........                                 100%  193M=0.04s

2023-02-13 14:09:07 (29.6 MB/s) - ‘neuromod-anat-brain-qmri.zip’ saved [1301347/1301347]

Load data plot it#

qMRI Metrics#

dataset.load()
fig_gm = Plot(dataset, plot_name = 'brain-1')

fig_gm.title = 'Brain qMRI microstructure measures'
# If you're running this notebook in a Jupyter Notebook (eg, on MyBinder), change 'jupyter-book' to 'notebook'
fig_gm.display('jupyter-book')

Statistics#

White Matter#
stats_wm = Stats(dataset)
stats_wm.build_df('WM')
stats_wm.build_stats_table()
display(stats_wm.stats_table)
T1 (MP2RAGE) T1 (MTsat) MTR MTsat
intrasubject COV mean [%] 0.6 2.3 0.6 1.7
intrasubject COV std [%] 0.2 0.8 0.1 0.5
intersubject mean COV [%] 1.9 3.5 0.4 2.2
Grey Matter#
stats_gm = Stats(dataset)
stats_gm.build_df('GM')
stats_gm.build_stats_table()
display(stats_gm.stats_table)
T1 (MP2RAGE) T1 (MTsat) MTR MTsat
intrasubject COV mean [%] 0.4 3.1 0.8 2.7
intrasubject COV std [%] 0.1 1.6 0.2 1.2
intersubject mean COV [%] 1.0 5.7 1.2 4.5

Diffusion#

data_type = 'brain-diffusion-cc'
release_version = 'latest'

dataset = Data(data_type)
dataset.download(release_version)
--2023-02-13 14:09:09--  https://github.com/courtois-neuromod/anat-processing/releases/download/r20230110/brain-diffusion-cc.zip
Resolving github.com (github.com)... 140.82.114.3
Connecting to github.com (github.com)|140.82.114.3|:443... connected.
HTTP request sent, awaiting response... 
302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/6e6dd34d-c009-4079-bea8-df5eea106c89?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230213%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230213T140909Z&X-Amz-Expires=300&X-Amz-Signature=5c49c91350e4ad53100f3182f251298b459a6b14d8015168c413c406723f52e8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dbrain-diffusion-cc.zip&response-content-type=application%2Foctet-stream [following]
--2023-02-13 14:09:09--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/6e6dd34d-c009-4079-bea8-df5eea106c89?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230213%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230213T140909Z&X-Amz-Expires=300&X-Amz-Signature=5c49c91350e4ad53100f3182f251298b459a6b14d8015168c413c406723f52e8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dbrain-diffusion-cc.zip&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 
Archive:  brain-diffusion-cc.zip
  inflating: data/brain-diffusion-cc/labels.py  
  inflating: data/brain-diffusion-cc/._labels.py  
  inflating: data/brain-diffusion-cc/.DS_Store  
  inflating: data/brain-diffusion-cc/._.DS_Store  
  inflating: data/brain-diffusion-cc/labels.ipynb  
  inflating: data/brain-diffusion-cc/._labels.ipynb  
  inflating: data/brain-diffusion-cc/corpus_callosum-metrics.csv  
  inflating: data/brain-diffusion-cc/._corpus_callosum-metrics.csv  
200 OK
Length: 15248 (15K) [application/octet-stream]
Saving to: ‘brain-diffusion-cc.zip’

     0K .......... ....                                       100% 33.2M=0s

2023-02-13 14:09:09 (33.2 MB/s) - ‘brain-diffusion-cc.zip’ saved [15248/15248]
dataset.load()

fig_diff = Plot(dataset, plot_name = 'brain-diff-cc')

fig_diff.title = 'Brain qMRI diffusion measures - corpus callosum'
# If you're running this notebook in a Jupyter Notebook (eg, on MyBinder), change 'jupyter-book' to 'notebook'
fig_diff.display('jupyter-book')

Statistics#

Genu#

stats_cc1 = Stats(dataset)
stats_cc1.build_df('genu')
stats_cc1.build_stats_table()
display(stats_cc1.stats_table)
FA (DWI) MD (DWI) RD (DWI)
intrasubject COV mean [%] 0.8 1.0 1.3
intrasubject COV std [%] 0.3 0.6 0.6
intersubject mean COV [%] 4.2 6.2 10.3

Body#

stats_cc1 = Stats(dataset)
stats_cc1.build_df('body')
stats_cc1.build_stats_table()
display(stats_cc1.stats_table)
FA (DWI) MD (DWI) RD (DWI)
intrasubject COV mean [%] 0.6 0.7 0.7
intrasubject COV std [%] 0.2 0.2 0.3
intersubject mean COV [%] 3.8 3.0 6.2

Splenium#

stats_cc1 = Stats(dataset)
stats_cc1.build_df('splenium')
stats_cc1.build_stats_table()
display(stats_cc1.stats_table)
FA (DWI) MD (DWI) RD (DWI)
intrasubject COV mean [%] 0.6 0.7 0.8
intrasubject COV std [%] 0.1 0.2 0.3
intersubject mean COV [%] 2.6 3.1 6.3